package com.mcxx.modules.miniSalvation.order.dao.read;

import com.mcxx.modules.miniSalvation.order.dto.NoticeBoardDetailDTO;
import com.mcxx.modules.miniSalvation.order.dto.OrderDTO;
import com.mcxx.modules.miniSalvation.order.dto.OrderListForChoiceDTO;
import com.mcxx.modules.miniSalvation.order.dto.NoticeBoardDTO;
import com.mcxx.modules.miniSalvation.order.entity.NoticeBoardDetailEntity;
import com.mcxx.modules.miniSalvation.order.param.NoticeBoardSearchOrderParam;
import com.mcxx.modules.miniSalvation.order.param.NoticeBoardParam;
import com.yinhai.ta404.module.mybatis.mapper.Ta404SupportMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface NoticeBoardReadDao extends Ta404SupportMapper {


    List<NoticeBoardDTO> queryList(NoticeBoardParam param);


    NoticeBoardDTO queryByBatchId(String batchId);


    List<String> getBatchNoByStateStartDate(List<String> batchNoList, String state);


    List<String> queryNoByNoAndStatuss(List<String> batchNoList, List<String> stateList);


    List<String> getBatchNoByStateStartDates(List<String> batchNoList, List<String> stateList,@Param("isTemp") String isTemp);


    List<OrderListForChoiceDTO> selectNoSaveOrderCounty(NoticeBoardSearchOrderParam orderListSearch);



    Integer cntByIdAndStartDate(String batchId);


    List<NoticeBoardDTO> queryEntrustTodo(NoticeBoardParam param);


    List<NoticeBoardDTO> queryEntrustFinish(NoticeBoardParam param);


    int checkConfirm(String batchNo);


    int checkNoticeOpera(String batchId,String state);


    List<OrderListForChoiceDTO> queryNoFormulaList(NoticeBoardSearchOrderParam orderListSearch);

    Integer queryNoFormulaListB(NoticeBoardSearchOrderParam orderListSearch);


    List<OrderDTO> getOrderStateAndVersions(String batchId,String tableOrder);


    List<NoticeBoardDTO> queryNoticeNotFinish();


    List<NoticeBoardDTO> queryUserByNoticeOrgId(List<String> idsList);


    NoticeBoardDTO queryIsNoticeIng(NoticeBoardDetailDTO dto);


    List<NoticeBoardDTO> queryNoticeAreaByParId(String parentId);

    int selectNoticeDate(String batchNo);


    List<NoticeBoardDTO> queryUserByArea(String areaCode);
}
